package com.sright.bcard.content.biz.manager;

import com.sright.bcard.common.service.share.dto.LoginUser;
import com.sright.bcard.common.service.share.dto.page.PageDTO;
import com.sright.bcard.common.service.share.dto.content.AdminDTO;
import com.sright.bcard.common.service.share.dto.content.CardDTO;
import com.sright.bcard.common.service.share.dto.content.MyPageDTO;
import com.sright.bcard.content.share.request.CardSaveParam;
import com.sright.bcard.user.share.request.TokenParam;
import com.sright.bcard.enterprise.share.request.CardListParam;
import com.sright.bcard.enterprise.share.response.CardListResponse;
import com.sright.bcard.enterprise.share.response.UserDetailResponse;

import java.text.ParseException;
import java.util.List;

public interface UserManager {

    Long save(CardSaveParam param);

    List getJoinCount(LoginUser loginUser);

    Boolean resetPassword(AdminDTO adminDTO);

    Boolean checkCode(AdminDTO adminDTO);

    String contactsMobile(String mobile);

    Integer unbind(CardDTO cardDTO);

    Integer getSetting(Long enterpriseId);

    Integer deleteCard(Long id);

    MyPageDTO getUserInfo(TokenParam tokenParam);

    PageDTO<CardListResponse> cardList(CardListParam cardListParam) throws ParseException;

    UserDetailResponse userDetail(Long id);

    Long updateCard(CardSaveParam param);

    Long expireDays(Long enterpriseId);

    void updateCheckStatus(Long cardUserId, Integer checkStatus);
}
